package com.reactim.message.connection;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 用户连接信息
 * 存储用户连接的基本信息，可序列化以便在分布式环境中传输和存储
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConnectionInfo implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 用户ID
     */
    private Long userId;
    
    /**
     * 设备信息
     */
    private String deviceInfo;
    
    /**
     * 客户端版本
     */
    private String clientVersion;
    
    /**
     * 连接建立时间戳
     */
    private Long timestamp;
    
    /**
     * 服务实例ID，标识用户连接到哪个服务实例
     */
    private String instanceId;
    
    /**
     * 客户端IP地址
     */
    private String clientIp;
}